home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zunml2.z / zunml2
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZUUUUNNNNMMMMLLLL2222((((3333FFFF))))                                                          ZZZZUUUUNNNNMMMMLLLL2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZUNML2 - overwrite the general complex m-by-n matrix C with   Q * C if
  10.      SIDE = 'L' and TRANS = 'N', or   Q'* C if SIDE = 'L' and TRANS = 'C', or
  11.      C * Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R' and TRANS
  12.      = 'C',
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE ZUNML2( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  16.                         )
  17.  
  18.          CHARACTER      SIDE, TRANS
  19.  
  20.          INTEGER        INFO, K, LDA, LDC, M, N
  21.  
  22.          COMPLEX*16     A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      ZUNML2 overwrites the general complex m-by-n matrix C with
  26.  
  27.      where Q is a complex unitary matrix defined as the product of k
  28.      elementary reflectors
  29.  
  30.            Q = H(k)' . . . H(2)' H(1)'
  31.  
  32.      as returned by ZGELQF. Q is of order m if SIDE = 'L' and of order n if
  33.      SIDE = 'R'.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      SIDE    (input) CHARACTER*1
  38.              = 'L': apply Q or Q' from the Left
  39.              = 'R': apply Q or Q' from the Right
  40.  
  41.      TRANS   (input) CHARACTER*1
  42.              = 'N': apply Q  (No transpose)
  43.              = 'C': apply Q' (Conjugate transpose)
  44.  
  45.      M       (input) INTEGER
  46.              The number of rows of the matrix C. M >= 0.
  47.  
  48.      N       (input) INTEGER
  49.              The number of columns of the matrix C. N >= 0.
  50.  
  51.      K       (input) INTEGER
  52.              The number of elementary reflectors whose product defines the
  53.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  54.              0.
  55.  
  56.      A       (input) COMPLEX*16 array, dimension
  57.              (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must
  58.              contain the vector which defines the elementary reflector H(i),
  59.              for i = 1,2,...,k, as returned by ZGELQF in the first k rows of
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZUUUUNNNNMMMMLLLL2222((((3333FFFF))))                                                          ZZZZUUUUNNNNMMMMLLLL2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              its array argument A.  A is modified by the routine but restored
  75.              on exit.
  76.  
  77.      LDA     (input) INTEGER
  78.              The leading dimension of the array A. LDA >= max(1,K).
  79.  
  80.      TAU     (input) COMPLEX*16 array, dimension (K)
  81.              TAU(i) must contain the scalar factor of the elementary reflector
  82.              H(i), as returned by ZGELQF.
  83.  
  84.      C       (input/output) COMPLEX*16 array, dimension (LDC,N)
  85.              On entry, the m-by-n matrix C.  On exit, C is overwritten by Q*C
  86.              or Q'*C or C*Q' or C*Q.
  87.  
  88.      LDC     (input) INTEGER
  89.              The leading dimension of the array C. LDC >= max(1,M).
  90.  
  91.      WORK    (workspace) COMPLEX*16 array, dimension
  92.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  93.  
  94.      INFO    (output) INTEGER
  95.              = 0: successful exit
  96.              < 0: if INFO = -i, the i-th argument had an illegal value
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.